1. Field of the Invention
This invention relates to data modelling and finds particular application in the compilation of data models.
2. Related Art
In modelling an aspect of a particular field in data, a data modelling application typically requires a modelling environment in which a predetermined data manipulation component may be constructed with the purpose of operating on variable input data to produce a data output. A complex data model may comprise many levels of data manipulation, combining data from different levels of input, internal and external, in a web of linkage and calculation, possibly interfacing to other data models.
Data modelling applications may often be satisfactorily implemented using personal computers running proprietary spreadsheet products. Data models may be created in spreadsheet form either as stand-alone models or within a client server architecture operating over a network in which models may be created and used in a shared environment.
Proprietary spreadsheet and other data modelling products support a number of basic features to enable data models of varying size and complexity to be assembled. They provide a highly flexible means of model construction, but the process can be very time consuming and error-prone, without a very comprehensive design to work from. Sometimes a model is called for to provide rough cost estimates, for example; something that can be put together rapidly, perhaps building on past experience or relying on proven assumptions to yield a reliable result. Information on the requirements or assumptions for a data model may be initially sketchy or the accuracy of information on which a model is to be initially based is only within broad tolerances. To build up even a top level model using only the basic facilities of a generally available spreadsheet product may take too long to be useful.
It has been observed that different data modelling applications often use similar blocks of formulae. Even complex data models will often replicate a relatively small number of similar formulae to manipulate data, but corresponding economies in time and effort of construction and in susceptibility to error are often difficult to achieve in practice.